package ranveterinaria.negocio;

import java.util.ArrayList;
import java.util.Collection;

import ranveterinaria.dao.PacienteDAO;
import ranveterinaria.excepcion.DAOExcepcion;
import ranveterinaria.modelo.AtencionPacienteModelo;
import ranveterinaria.modelo.DuenoModelo;
import ranveterinaria.modelo.PacienteModelo;

public class GestionPaciente {
	public void insertar(PacienteModelo vo)
			throws DAOExcepcion {
		PacienteDAO dao = new PacienteDAO();	
		dao.insertar(vo);
	}
	
	public void actualizar(PacienteModelo vo)
			throws DAOExcepcion {
		PacienteDAO dao = new PacienteDAO();	
		dao.actualizar(vo);
	}
	
	public void actualizarAdopcion(int idPaciente, String notaAdopcion, String estadoAdopcion, int bolAdopcion)
			throws DAOExcepcion {
		PacienteDAO dao = new PacienteDAO();	
		dao.actualizarAdopcion(idPaciente,notaAdopcion,estadoAdopcion,bolAdopcion);
	}
	
	public void ponerEnAdopcion(int idPaciente,String notaAdopcion)
			throws DAOExcepcion {
		PacienteDAO dao = new PacienteDAO();	
		dao.ponerEnAdopcion(idPaciente,notaAdopcion);
	}
	
	public void eliminar(int idPaciente)
			throws DAOExcepcion {
		PacienteDAO dao = new PacienteDAO();	
		dao.eliminar(idPaciente);
	}
	
	public Collection<PacienteModelo> listar() throws DAOExcepcion {
		PacienteDAO dao = new PacienteDAO();
        return dao.listar();
	}
	
	public Collection<PacienteModelo> listarPorPaciente(int idPaciente) throws DAOExcepcion {
		PacienteDAO dao = new PacienteDAO();
        return dao.listarPorPaciente(idPaciente);
	}
	
	public Collection<PacienteModelo> listarPorDueno(DuenoModelo voo ) throws DAOExcepcion {
		PacienteDAO dao = new PacienteDAO();
        return dao.listarPorDueno(voo);
	}
	
	public Collection<PacienteModelo> listarPorDuenoCompleto(DuenoModelo voo ) throws DAOExcepcion {
		PacienteDAO dao = new PacienteDAO();
        return dao.listarPorDueno(voo);
	}
	
	public Collection<ArrayList<Object>> listarPorPacienteDetalle(int idPaciente) throws DAOExcepcion {
		PacienteDAO dao = new PacienteDAO();
        return dao.listarPorPacienteDetalle(idPaciente);
	} 
	
	public Collection<ArrayList<Object>> listarImagenesMedicas(int idPaciente) throws DAOExcepcion {
		PacienteDAO dao = new PacienteDAO();
        return dao.listarImagenesMedicas(idPaciente);
	} 
	
	public Collection<PacienteModelo> listarAdopciones() throws DAOExcepcion {
		PacienteDAO dao = new PacienteDAO();
        return dao.listarAdopciones();
	}
	
	public void eliminarAdopcion(int idPaciente)
			throws DAOExcepcion {
		PacienteDAO dao = new PacienteDAO();	
		dao.eliminarAdopcion(idPaciente);
	}
	
	public Collection<AtencionPacienteModelo> listarPacientesPorDoctorPorID(int idDoctor) throws DAOExcepcion {
		PacienteDAO dao = new PacienteDAO();
        return dao.listarPacientesPorDoctorPorID(idDoctor);
	}
	
	public Collection<AtencionPacienteModelo> listarPacientesPorDoctor() throws DAOExcepcion {
		PacienteDAO dao = new PacienteDAO();
        return dao.listarPacientesPorDoctor();
	}
	
	public Collection<PacienteModelo> buscarPorDueno(String nombreDueno) throws DAOExcepcion {
		PacienteDAO dao = new PacienteDAO();
        return dao.buscarPorDueno(nombreDueno);
	}
}
